Interference and fading are significant impediments to achieving high data rates in today's wireless communication systems. Given the tendency for channel conditions to sporadically and significantly fade, communication resources are conservatively allocated, leaving excessive amounts of communication resources unused most of the time. Efforts to combat the impact of fading include incorporating transmission diversity or controlling modulation and coding techniques in relation to channel conditions.
Spatial diversity is typically a function of the number and placement of transmit and receive antennas relative to a transmitter and receiver. Systems employing spatial diversity with multiple transmit and receive antennas are generally referred to as multiple-input multiple-output (MIMO) systems. Accordingly, a transmitting device will have M transmit antennas, and the receiving device will have N receive antennas. Space-time coding controls what data is transmitted from each of the M transmit antennas. A space-time encoding function at the transmitter processes data to be transmitted and creates unique information to transmit from the M transmit antennas. Each of the N receive antennas will receive signals transmitted from each of the M transmit antennas. A space-time decoding function at the receiving device will combine the information sent from the M transmit antennas to recover the data.
Space-time coding (STC) is typically implemented using one of two techniques. The first technique encodes the same data in different formats for transmission from the different transmit antennas. Thus, the same data is transmitted in different formats from each of the M transmit antennas. The second technique transmits different data from different ones of the M transmit antennas wherein the redundancy of the second technique is avoided. The first technique, space-time transmit diversity (STTD), is effective in maximizing diversity but inefficient due to the requisite redundancy. The second technique, which is often referred to as V-BLAST (Vertical-Bell Laboratories Layered Space Time), increases system throughput for systems having sufficient diversity available. Once a threshold amount of diversity is achieved, data rates increase linearly with the number of transmit and receive antennas for BLAST systems, whereas additional spatial diversity has little impact on data rates in STTD systems. Further information related to STTD and BLAST can be found in Siavash M. Alamouti, “A Simple Transmit Diversity Technique for Wireless Communications,” IEEE J. Select. Areas Commun., vol. 16, pp. 1451-1458, October 1998; G. J. Foschini, “Layered Space-time Architecture for Wireless Communications in a Fading Environment when Using Multi-element antennas,” Bell Labs Tech. J., pp. 41-59, Autumn 1996; G. D. Golden, G. J. Foschini, R. A. Valenzuela, and P. W. Wolniansky, “Detection Algorithm and Initial Laboratory Results Using V-BLAST Space-time Communication Architecture,” Electronics Letters, vol. 35, pp. 14-16, January 1999; and P. W. Wolniansky, G. J., Foschini, G. D. Golden, and R. A. Valenzuela, “V-BLAST: An Architecture for Realizing Very High Data Rates Over the Rich-scattering Wireless Channel,” Proc. IEEE ISSSE-98, Pisa, Italy, September 1998, pp. 295-300, which are incorporated herein by reference.
Prior to implementing space-time coding (STC), data to be transmitted is normally encoded to facilitate error correction, and modulated or mapped into symbols using any number of available modulation techniques, such as quadrature phase shift keying (QPSK) and x-quadrature amplitude modulation (QAM). The type of encoding for error correction and modulation techniques greatly influences the data rates, and their applicability is often a function of channel conditions.
In general, BLAST-type STC decoding techniques are defined as providing either joint or separate detection. For joint detection, to detect a signal from one antenna, the signals transmitted by all of the other antennas must also be considered. In essence, the signals are detected as a set, not on an individual basis as is done with separate detection techniques. The optimum algorithm to facilitate BLAST decoding is maximum likelihood decoding (MLD), which is a joint detection technique. MLD obtains a diversity order equal to the number of receive antennas, independent of the number of transmit antennas. Hence, compared to other techniques, MLD has a significant signal-to-noise ratio (SNR) advantage, and the SNR gain grows with the number of transmit antennas. One disadvantage of MLD is that its complexity grows exponentially with the number of transmit antennas. As such, the predominant decoding techniques for BLAST implement separate detection using minimum mean square error (MMSE) or zero-forcing (ZF), which are both significantly less complex than MLD techniques.
In operation, a ZF V-BLAST decoder operates to invert the MIMO channel and solve the information transmitted from M transmit antennas. Suppose the MIMO channel input is denoted as vector:x=[x1x2. . . xM]T,  Equation 1,the MIMO channel output is denoted as:y=[y1y2. . . yN]T, and  Equation 2,the MIMO channel noise is denoted as:n=[n1n2. . . nN]T.  Equation 3,In the presence of noise, the V-BLAST decoder input can be represented as:y=HN×Mx+n.  Equation 4,The V-BLAST decoder performs MIMO channel estimation H, then the direct MIMO channel inversion leads to a zero-forcing solution, which is represented as:
                                                                        x                ^                            =                                                                    (                                                                  H                        ′                                            ⁢                      H                                        )                                                        -                    1                                                  ⁢                                  H                  ′                                ⁢                y                                                                                                        =                                  x                  +                  ɛ                                            ,                                                          Equation        ⁢                                  ⁢        5            where {circumflex over (x)} is the detected signal vector of x, and ε=−(H′H)−1 H′n is the detection noise. Notably, in the derivation of Equation 5, perfect channel information is assumed; thus when n=0, ε=0.
When making hard-decision symbol estimates, the Euclidean distances between each detected signal {{circumflex over (x)}l|l=1, M}, which is represented as a point in a constellation, and all the possible signal candidates from a particular antenna, which are represented as several points in a constellation lattice, are calculated. Next, the candidate signal with the minimum distance to the detected signal is deemed to be the signal transmitted. Note that the detection process for each antenna is unrelated to signals transmitted from the other antennas. The same is true for soft-decision bit de-mapping. For instance, the sign and value of each soft bit de-mapped from the signal transmitted by the antenna Txi are determined by {circumflex over (x)}l only, and are unrelated to {{circumflex over (x)}j|j≠l}.
As noted above, MLD takes a joint detection approach. To detect which signal has been transmitted by antenna Txi, the decoder must consider signals transmitted by all the other antennas. As such, the signals are detected as a set. The maximum likelihood estimate of a signal vector x is given by:{tilde over (x)}=arg min∥r−Hx∥,  Equation 6,where x is the signal vector given in Equation 1, with x1 ∈{s1, s2, . . . , sq} and q=2nb being the constellation size. As shown from Equation 6, the detection is based on the Euclidean distance between received signal vector r and qM different candidate vectors Hx, where M is the number of transmit antennas.
The maximum likelihood estimate of a received signal vector is given by Equation 6, which expands the candidate signal constellation from one dimension to M dimensions. Accordingly, the complexity grows exponentially with the number of transmit antennas. With separate detection, the Euclidean distance calculation is always carried out in one dimension only:{tilde over (x)}l=arg min∥{circumflex over (x)}l−xl∥.  Equation 7
Accordingly, the computational complexity of V-BLAST detection for separate detection techniques, such as ZF or MMSE, is linear with respect to the number of transmit antennas. However, the limitation for the separate detection techniques is twofold. First, the number of receiver antennas should be larger than the number of transmit antennas. Second, the diversity order with respect to the system performance is N−M+1. In contrast, the advantages of joint detection are that the diversity order for the MLD decoder is linear with the number of transmit antennas, and the number of receive antennas can be less than the number of transmit antennas. However, the disadvantage of the joint detection is that the complexity of the MLD decoder is exponential to the number of transmit antennas. Thus, there is a need for a decoding technique capable of taking advantage of the benefits of both joint and separate decoding while minimizing their limitations. In particular, there is a need for the precision of MLD detection with the complexity closer to ZF or MMSE detection.
Further reference is made to Richard van Nee, Allert van Zelst and Geert Awater, “Maximum Likelihood Decoding in a Space Division Multiplexing System,” IEEE VTC 2000, Tokyo, Japan, May 2000, and Andrej Stefanov and Tolga M. Duman, “Turbo-coded Modulation for Systems with Transmit and Receive Antenna Diversity over Block Fading Channels: System Model, Decoding Approaches, and Practical Considerations,” IEEE J. Select. Areas Commun., vol. 19, pp. 958-968, May, 2001, which are incorporated herein by reference.